package com.yunshang.shoppingmall.common;

import com.yunshang.shoppingmall.entity.ProductGuigePrice;

/*商品规格价格工具类*/
public class ProductGuigePriceUtil {


    //最低利润值
    //商城价 - 当前消费使用的折扣劵 - 当前消费使用的兑换券（优质店主）-产品成本-运营成本
    public static double getMinLiRun(ProductGuigePrice productGuigePrice) {

        double proPrice=0.00;
        if(productGuigePrice.getProPrice()!=null){//商城价
            proPrice=productGuigePrice.getProPrice().doubleValue();
        }
        double productCost=0.00;
        if(productGuigePrice.getProductCost()!=null){//商品成本
            productCost=productGuigePrice.getProductCost().doubleValue();
        }

        double opratorCost=0.00;
        if (productGuigePrice.getOpratorCost()!=null){//运营成本
            opratorCost=productGuigePrice.getOpratorCost().doubleValue();
        }

        double coupon=0.00;
        if(productGuigePrice.getCoupon()!=null){//购物券
            coupon=productGuigePrice.getCoupon().doubleValue();
        }

        double yzDianzhu=0.00;
        if(productGuigePrice.getYzDianzhu()!=null){//优质店主等级折扣券
            yzDianzhu=productGuigePrice.getYzDianzhu();
        }
        //最小利润
        double minLiRun = proPrice - productCost - opratorCost - coupon - yzDianzhu;
        System.out.println("---利润------->"+proPrice+"-"+productCost+"-"+opratorCost+"--"+coupon+"--"+yzDianzhu);
        return minLiRun;
    }

    //计算优惠后最低
    //商城价 - 当前消费使用的折扣劵 - 当前消费使用的兑换券-会员节省
    public static double getMinyhPrice(ProductGuigePrice productGuigePrice, double commission) {
        double proPrice=0.00;
        if(productGuigePrice.getProPrice()!=null){//商城价
            proPrice=productGuigePrice.getProPrice().doubleValue();
        }

        double productCost=0.00;
        if(productGuigePrice.getProductCost()!=null){//商品成本
            productCost=productGuigePrice.getProductCost().doubleValue();
        }


        double opratorCost=0.00;
        if (productGuigePrice.getOpratorCost()!=null){//运营成本
            opratorCost=productGuigePrice.getOpratorCost().doubleValue();
        }

        double coupon=0.00;
        if(productGuigePrice.getCoupon()!=null){//购物券
            coupon=productGuigePrice.getCoupon().doubleValue();
        }

        double yzDianzhu=0.00;
        if(productGuigePrice.getYzDianzhu()!=null){//优质店主等级折扣券
            yzDianzhu=productGuigePrice.getYzDianzhu();
        }


        //会员节省
        double hyJShengs = getHyJSheng(productGuigePrice, commission);
        //最低优惠价格
        double minyhPrice = proPrice - coupon - yzDianzhu - hyJShengs;
        return minyhPrice;
    }

    //计算会员节省
    /*会员节省= 利润值*提成比*/
    public static double getHyJSheng(ProductGuigePrice productGuigePrice, double commission) {

        double proPrice=0.00;
        if(productGuigePrice.getProPrice()!=null){//商城价
            proPrice=productGuigePrice.getProPrice().doubleValue();
        }

        double productCost=0.00;
        if(productGuigePrice.getProductCost()!=null){//商品成本
            productCost=productGuigePrice.getProductCost().doubleValue();
        }


        double opratorCost=0.00;
        if (productGuigePrice.getOpratorCost()!=null){//运营成本
            opratorCost=productGuigePrice.getOpratorCost().doubleValue();
        }

        double coupon=0.00;
        if(productGuigePrice.getCoupon()!=null){//购物券
            coupon=productGuigePrice.getCoupon().doubleValue();
        }

        double yzDianzhu=0.00;
        if(productGuigePrice.getYzDianzhu()!=null){//优质店主等级折扣券
            yzDianzhu=productGuigePrice.getYzDianzhu();
        }

        double hyJSheng = 0.00;
        //最低利润
        double minLiRun = getMinLiRun(productGuigePrice);
        hyJSheng = minLiRun* commission / 100;
        return hyJSheng;
    }



    //推荐提成(分享赚)
    //会员分享商品提成=利润值*30% - 利润值*当前等级提成比
    public static double getFenXiangZhuan(ProductGuigePrice productGuigePrice, double ReCommendcommission,double userCommission) {
        double fenXiangZhuan=0.00;
        //最低利润
        double minLiRun = getMinLiRun(productGuigePrice);
        if(ReCommendcommission>userCommission){
            fenXiangZhuan= minLiRun*(ReCommendcommission-userCommission)/100;
        }else{
            fenXiangZhuan=0.00;
        }
        return fenXiangZhuan;
    }

}
